home *** CD-ROM | disk | FTP | other *** search
- Program DemoBios;
-
- { Purpose....... Demonstrates the use of the following units: Misc, Bios
- Comments...... None
- Author........ Thayne Breetzke
- Date.......... 22 March 1994 }
-
- Uses
- Crt,
- Cursor,
- Screen,
- Windows,
- Misc,
- Bios,
- Strings,
- Input;
-
- Var
- MHz,
- KHz : Word;
- Key : Char;
-
-
- Procedure ShowKeys;
-
- Begin
- If RShiftPressed then
- Begin
- WriteXY(40,16,'▄▄▄▄▄▄▄▄▄▄',15+7*16);
- WriteXY(40,17,'▀▀▀▀▀▀▀▀▀▀',15+7*16);
- end
- else
- Begin
- WriteXY(40,16,'▄▄▄▄▄▄▄▄▄▄',112);
- WriteXY(40,17,'▀▀▀▀▀▀▀▀▀▀',112);
- end;
- If LShiftPressed then
- Begin
- WriteXY(6,16,'▄▄▄▄▄▄▄▄▄',15+7*16);
- WriteXY(6,17,'▀▀▀▀▀▀▀▀▀',15+7*16);
- end
- else
- Begin
- WriteXY(6,16,'▄▄▄▄▄▄▄▄▄',112);
- WriteXY(6,17,'▀▀▀▀▀▀▀▀▀',112);
- end;
- If LCtrlPressed then
- WriteXY(6,18,'████',15+7*16)
- else
- WriteXY(6,18,'████',112);
- If RCtrlPressed then
- WriteXY(46,18,'████',15+7*16)
- else
- WriteXY(46,18,'████',112);
- If LAltPressed then
- WriteXY(14,18,'████',15+7*16)
- else
- WriteXY(14,18,'████',112);
- If RAltPressed then
- WriteXY(38,18,'████',15+7*16)
- else
- WriteXY(38,18,'████',112);
- If SysPressed then
- Begin
- WriteXY(54,10,'▄▄',15+7*16);
- WriteXY(54,11,'▀▀',15+7*16);
- end
- else
- Begin
- WriteXY(54,10,'▄▄',112);
- WriteXY(54,11,'▀▀',112);
- end;
- If ScrollLockPressed then
- Begin
- WriteXY(57,10,'▄▄',15+7*16);
- WriteXY(57,11,'▀▀',15+7*16);
- end
- else
- Begin
- WriteXY(57,10,'▄▄',112);
- WriteXY(57,11,'▀▀',112);
- end;
- If NumLockPressed then
- WriteXY(65,12,'██',15+7*16)
- else
- WriteXY(65,12,'██',112);
- If CapsPressed then
- WriteXY(6,15,'████',15+7*16)
- else
- WriteXY(6,15,'████',112);
- If InsertPressed then
- WriteXY(54,12,'██',15+7*16)
- else
- WriteXY(54,12,'██',112);
- If NumLockOn then
- WriteXY(65,10,'▄▄',15+7*16)
- else
- WriteXY(65,10,'▄▄',112);
- If CapsLockOn then
- WriteXY(68,10,'▄▄',15+7*16)
- else
- WriteXY(68,10,'▄▄',112);
- If ScrollLockOn then
- WriteXY(71,10,'▄▄',15+7*16)
- else
- WriteXY(71,10,'▄▄',112);
- If InsertOn then
- WriteMem(6,20,'Insert On ')
- else
- WriteMem(6,20,'Insert Off');
- end;
-
-
- Begin
- SetPrtScrOff;
- SetPauseOff;
- TextAttr := 7;
- CursorOff;
- ClearArea(1,1,80,25,7,'▒');
- DrawBox(4,2,77,4,'','',DoubleFrame,15+1*16,14+1*16,True);
- WriteMem(5,3,Center('The "Complete" Borland Turbo Pascal 6.0 Toolbox',72));
- OpenWindow(12,7,69,23,'',' Press a key to continue ',SingleFrame,15+7*16,15+7*16,True);
- WriteXY(14,9,Center('Print-Screen and Pause are set off',53),1+7*16);
- If Length(CommandLine) > 37 then
- WriteMem(14,11,'Command line: '+Copy(CommandLine,1,34)+'...')
- else
- WriteMem(14,11,'Command line: '+Copy(CommandLine,1,37));
- WriteMem(14,12,'Computer type:');
- Case CPUType of
- 1: WriteMem(31,12,'8086');
- 2: WriteMem(31,12,'80286');
- 3: WriteMem(31,12,'80386');
- 4: WriteMem(31,12,'80486');
- end;
- GetCPUSpeed(Mhz,Khz);
- WriteMem(14,13,'Computer speed: '+NumToStr(Mhz,0,0,False)+'Mhz, '+NumToStr(KHz,0,0,False)+'KHz');
- WriteMem(14,14,'Hard disks: '+NumToStr(NumHardDisks,0,0,False));
- WriteMem(14,15,'Floppies: '+NumToStr(NumFloppies,0,0,False));
- WriteMem(14,16,'Active Floppy:');
- Case ActiveFloppy of
- 0: WriteMem(31,16,'A:');
- 1: WriteMem(31,16,'B:');
- end;
- WriteMem(14,17,'Math co present: '+BoolToStr(MathCoPresent,'Yes/No'));
- WriteMem(14,18,'DMA installed: '+BoolToStr(DMAInstalled,'Yes/No'));
- WriteMem(14,19,'Serial ports: '+NumToStr(NumSerialPorts,0,0,False));
- WriteMem(14,20,'Printer ports: '+NumToStr(NumPrinterPorts,0,0,False));
- WriteMem(14,21,'Game adapter: '+BoolToStr(GameAdapterPresent,'Yes/No'));
- WaitForKeypress;
- CloseWindow;
- DrawBox(4,9,77,22,'',' Press Ctrl,Alt,Shift,CapsLk,NumLk,ScrLk,SysReq,Ins (ESC exits) ',NoFrame,15+7*16,15+7*16,False);
- WriteXY(6,10,'▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄',112);
- WriteXY(6,11,'▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ',112);
- WriteXY(6,12,'██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██',112);
- WriteXY(6,13,'▄▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄',112);
- WriteXY(6,14,'▀▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ████ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ██',112);
- WriteXY(6,15,'████ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██████ ██ ██ ██ ██',112);
- WriteXY(6,16,'▄▄▄▄▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄▄▄▄▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄',112);
- WriteXY(6,17,'▀▀▀▀▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀▀▀▀▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ██',112);
- WriteXY(6,18,'████ ████ ██████████████████ ████ ████ ██ ██ ██ █████ ██ ██',112);
- WriteXY(74,10,'▄▄',15+7*16);
- SetScrollLockOff;
- SetCapsLockOff;
- SetInsertOff;
- SetNumLockOff;
- Key := #0;
- Repeat
- ShowKeys;
- If KeyPressed then
- Key := ReadKey;
- until Key = #27;
- ClrScr;
- CursorOn(False);
- SetPrtScrOn;
- SetPauseOn;
- end.